package cn.zero.letaomallspringboot.service;

import cn.zero.letaomallspringboot.common.PageResult;
import cn.zero.letaomallspringboot.entity.Good;

import java.util.List;
import java.util.Map;

/**
 * 商品服务接口
 */
public interface IGoodService {

    /**
     * 条件分页查询商品列表（支持名称、店铺、类型搜索）
     *
     * @param params 包含 page, size, name, shopName, goodType 等参数
     * @return 分页结果
     */
    PageResult<Good> goodList(Map<String, Object> params);

    /**
     * 添加商品
     */
    boolean addGood(Good good);

    /**
     * 更新商品（支持修改和“复制新增”）
     * 如果 goodId 为 null，则视为复制新增，会生成新ID
     */
    boolean updateGood(Good good);

    /**
     * 根据ID查询商品详情
     */
    Good getGood(Integer id);

    /**
     * 删除单个商品
     */
    boolean deleteGood(Integer id);

    /**
     * 批量删除商品
     */
    boolean batchDeleteGood(List<Integer> ids);
}